Field of the Invention
This invention relates to refreshable braille displays. More specifically, it relates to dynamically establishing an auto-advance interval for each line of braille characters based on the number of used braille cells in that line.
Background of the Invention
Refreshable braille readers enable blind and visually-impaired users to read electronic documents using the braille language. The refreshable braille displays contain a number of braille cells, each of which can be used to output a braille character corresponding to an alphanumerical character. A screen reader software, such as JAWS®, is used to output alphanumeric characters within an electronic document onto the braille display. After a line of text is output onto the braille display, the user reads the output using his or her fingertips. When the user is done reading the current line of the braille display, the user presses a key to refresh the braille display with a next line of braille characters.
In the past, braille display users had to manually press a button after reading each line of braille characters to output the next line. Although this task may seem insignificant, it constitutes a major inconvenience to the braille display users often interrupting the flow of the content and reducing the reading speed. To remedy this issue, JAWS® screen reader currently has a braille reading mode called auto-advance. Auto-advance automatically refreshes the braille display at preset intervals, thereby enabling continuous reading.
One problem with the current auto-advance feature is that the braille display is refreshed in fixed time intervals without accounting for the blank cells. Electronic documents often contain lines with only a few words, much shorter than larger braille displays. When these short lines are output onto the braille display, a plurality of braille cells may remain blank. The blank cells may also be a result of the need to wrap words which might be broken across a braille display boundary. When this occurs, the line is shorter than the full width of the braille display. Since the fixed auto-advance interval is set by the user for optimal reading when the braille display is full, the user may be left waiting for the remainder of the auto-advance interval after completing reading a shorter line. This waiting period undermines the efficacy of the auto-advance feature.
Some braille displays address the problem described above by providing sensors that track the movement of the user's finger across the braille display, and automatically refresh the braille display when the user finishes reading the last braille cell. This solution requires additional hardware to be deployed within the braille display, thereby making this solution incompatible with standard braille displays that are not equipped with such sensors. Inclusion of additional sensors into the braille display also increases the cost, power consumption, complexity, and makes the braille display more prone to malfunctioning.
Accordingly, what is needed is a software-based solution that would dynamically determine the appropriate auto-advance interval on a line-by-line basis.